package com.bjb.vr.common.exception;

import lombok.Data;

/**
 * @description: 全局自定义异常基类
 * @author: HuJingBo
 * @time: 2022/2/27 22:03
 */
@Data
public class BaseException extends RuntimeException{

    /**
     * 保存异常信息
     */
    private String message;

    /**
     * 保存响应状态码
     */
    private String code;

    /**
     * 默认构造方法，根据异常信息，构建异常实例
     * @param message 异常信息
     */
    public BaseException(String message) {
        super(message);
        this.message = message;
    }

    /**
     * 根据异常信息、响应状态码，构建异常实例
     * @param message 异常信息
     * @param code 响应状态码
     */
    public BaseException(String message, String code) {
        super(message);
        this.message = message;
        this.code = code;
    }

    /**
     * 根据异常信息、异常对象，构建异常实例
     * @param message 异常信息
     * @param e 异常对象
     */
    public BaseException(String message, Throwable e) {
        super(message, e);
        this.message = message;
    }

    /**
     * 根据异常信息、响应状态码，异常对象，构建异常实例
     * @param message 异常信息
     * @param code 响应状态码
     * @param e 异常对象
     */
    public BaseException(String message, String code, Throwable e) {
        super(message, e);
        this.message = message;
        this.code = code;
    }
}
